Computer systems typically use software, hardware, or a combination of both. Software based systems may operate by executing computer-readable instructions on general purpose hardware. Hardware based systems may comprise circuitry specially designed to perform specific operations, such as an application specific integrated circuit (ASIC). Hardware based systems typically have higher performance than software based systems, although they also lack the flexibility to perform tasks other than the specific tasks for which they were designed. Consequently, there may be need for improvements in computer systems that provide higher performance than software systems yet offer more flexibility than hardware systems.